// 1.自定义指令
// Vue.directive('fofo', {
//   inserted: function (el) {
//     const input = el.querySelector('input')
//     input.focus()
//   }
// })

// 2.封装中间函数插件-自定义命令--自动聚焦
const directiveObj = {
  install (Vue) {
    Vue.directive('fofo', {
      inserted: function (el) { // 指令所在标签，被插入到真实dom时才触发
        if (el.nodeName === 'TEXTAREA' || el.nodeName === 'INPUT') {
          el.focus()
        } else {
          // el = el.querySelector('input').focus() || el.querySelector('textarea').focus()
          const inp = el.querySelector('input')
          const textArea = el.querySelector('textarea')
          if (inp || textArea) {
            inp && inp.focus()
            textArea && textArea.focus()
          } else {
            console.error('请把v-fofo用在输入标签上')
          }
        }
      },
      update (el) { // 指令所在标签，被更新时触发
        if (el.nodeName === 'TEXTAREA' || el.nodeName === 'INPUT') {
          el.focus()
        } else {
          // el = el.querySelector('input').focus() || el.querySelector('textarea').focus()
          const inp = el.querySelector('input')
          const textArea = el.querySelector('textarea')
          if (inp || textArea) {
            inp && inp.focus()
            textArea && textArea.focus()
          } else {
            console.error('请把v-fofo用在输入标签上')
          }
        }
      }
    })
  }
}

export default directiveObj
